<?php
/**
 * 运行时的一些必要文件的加载,和系统目录的常量设置
 *
 * @author yifa
 */
defined('YF_PATH') or exit();
// 路径设置 可在入口文件中重新定义 所有路径常量都必须以/ 结尾
defined('CORE_PATH')    or define('CORE_PATH',      YF_PATH.'Lib/'); // 系统核心类库目录
defined('PLUGIN_PATH')    or define('PLUGIN_PATH',      BASE_URL.'Plugins/'); // 系统插件目录
defined('PUBLIC_PATH')    or define('PUBLIC_PATH',      BASE_URL.'Public/'); // 系统公共目录
defined('LANG_PATH')    or define('LANG_PATH',      YF_PATH.'lang/'); // 系统语言包目录

defined('ACTION_PATH')    or define('ACTION_PATH',      APP_PATH.'Action/'); // 项目控制器目录
defined('MODE_PATH')    or define('MODE_PATH',      APP_PATH.'Mode/'); // 项目模型目录

//核心公共目录路径
//define('APP_NAME', '');

$lang = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']);//读取用户浏览器设置的默认语言
empty($lang[0]) ? define('LANGUAGE',  'zh-cn') : define('LANGUAGE',  strtolower($lang[0]));

require YF_PATH.'Common/function.class.php';//系统函数文件

$Config = F::loadArray(YF_PATH.'Common/Config.php');//系统默认配置

define('ROUTE_M', F::getModelName());//访问的模块
define('ROUTE_A', F::getActionName());//访问的方法

$Language = F::loadArray(YF_PATH.'Lang/'.LANGUAGE.'.php');//加载语言包
$Language = !empty($Language) ? $Language : F::loadArray(YF_PATH.'Lang/zh-cn.php');//默认加载中文语言包

F::loadFile(YF_PATH.'Common/common.php');//系统函数文件

F::loadFile(YF_PATH.'Lib/Core/App.class.php');//系统启动文件

require(YF_PATH.'Common/Smarty.php');//系统模板引擎文件,此文件中实例化smarty不能使用静态方法加载

F::loadFile(CORE_PATH.'Core/Action.class.php');//控制器基类
F::loadFile(CORE_PATH.'Core/Model.class.php');//模型基类

//判断用户是否在项目中自定义配置了
if(is_file(APP_PATH.'Config/Smarty.php')){
        F::loadFile(APP_PATH.'Config/Smarty.php');
}
?>
